1. Field of the Invention
The present invention is in the technical area of image generation and display, and pertains more particularly to a system and methods for joining elements in assembly to create images of articulated apparatus.
2. Description of Related Art
It is well known in the imaging arts to display images using software executing on computerized appliances. Audio-video renditions, cartoons, movies, PowerPoint presentations and the like are examples of such imaging techniques. It is also well-known to create images using a drawing program for any of a variety of purposes. Programs are commercially available, for example, for machine designers, architects and the like to create drawings of machine and assembly views of machines from the individual elements.
There are broadly two sorts of drawing programs, termed raster and vector (object-oriented). In a raster program, one moves a cursor in a display, employing, for example, a trackball or a pointer device like a computer mouse, and the software follows the movements, and alters the display of pixels in the image in the path of the cursor. The cursor in such a program, sometimes called a Paint program, may be implemented as a point object, a broad brush, an eraser, or any of a broad variety of other shapes and effects as the cursor moves and pixels are programmed.
Raster images are pixel matrices, and as such, may be edited by erasure, group selection and movement or group effect editing. Such programs are mostly useful in artistic endeavors and not so useful in technical areas like machine design.
The other broad category of computer aided-drawing programs is the category of vector programs, also called object-oriented programs. In this sort of program geometric elements are defined in the program, such as lines, arcs, rectangles, circles, and many other geometric shapes. One may select in a tool bar a line tool, for example, then click at a first point on the display and drag to a second point and release. The programming is such that a line appears between the two points. The user may select a default line weight and color, and once the line is displayed, the user may select the line by any of a variety of ways, and cause the line to display handles at the end points, or even at other points along the line. The user may them grab a handle (by click and drag) and lengthen, shorten or reorient the line.
Further the user may select an arc tool or a circle or rectangle tool, or any of several other tools, and create other objects in the display. The user can join these objects to create pictures, such as representations of machine elements and the like. In such systems typically a developing image is displayed in real time, and each element is “remembered” by the drawing program, as well as its placement in the display, and the overall assemblies of atomic elements are remembered as well. The picture may be saved with a file name, copied, printed, sent to others over the Internet network and the like. Any such created drawing may be opened by a user utilizing the object-oriented drawing program that created it, or by another compatible program. There are commercially available object-oriented drawing programs that may open drawing files created by any one of several different programs. There is a wealth of reference literature available regarding object-oriented drawing programs which go into far greater detail than this simple explanation.
A very important distinguishing feature of object-oriented programs is that each element and assembly of elements is remembered as an object. That is, each element and assembly has stored properties, uniquely associated (by an ID number for example). For a straight line the properties may include length, width (line weight), color, dash effects, end treatment (ends may be squared, pointed or rounded, for example. The placement of the line in a particular drawing is remembered as well. This way, when the program is directed to open a drawing file, every element and assembly (objects) in the drawing may be properly rendered in the drawing, by reference to the properties and placement coordinates of the objects.
The present inventor is involved in the technology of computerized gaming, wherein persons (displayed as avatars), mechanical devices, landscapes, structures, water and many other elements may be dynamically displayed, and wherein a player, through input devices like the mentioned pointer device, as well as joysticks, rollers, buttons and the like, and even through hand and body gestures, may influence the movement and activities of avatars and other elements in the game display. In such a game environment physics simulation is used with virtual elements, objects, avatars and the like to create a dynamic image that appears as nearly as possible to conform to real expectations. A ball caused by a player to be struck, like a golf ball, for example, should move in the display, and react with other objects and surfaces as would be expected in the real world. This is, as may be expected, a computer-intensive process, requiring considerable software sophistication and computer power.
In the development of new computer games the present inventor is desirous of providing new and exciting capabilities to players. One such desired capability is for a player to be able to create apparatus (machines) with joined, moving parts, and to save these user-created gadgets as tools, weapons and the like, and to use them in games created by the user or others. A user might wish to create, for example, a jointed throwing stick comprising two rods joined by an elbow, having a cup for a ball on one rod end away from the joint, and a handle for an avatar to grip on the other rod end away from the elbow joint, such that an avatar might place or pick up a ball in the cup, and then throw the ball using the jointed throwing stick, enjoying a considerable mechanical advantage by virtue of the length and the joint of the throwing stick. This is a very simple example of what might be done by a player, if the necessary tools were provided in the gaming software. One might consider also creating vehicles, jet packs, swimming and other water gear for use by avatars in various ways.
In another example, it is a common practice in gaming and other virtual world systems to provide a capability for a player to build landscapes, buildings and other structures, and often standardized “blocks” may be provided for the player to incorporate into such organization. Virtual LEGO is a case in point.
In considering this desire for additional capability, and how it might be provided, the inventor has been aware of the fact that object-oriented drawing programs are in many case very sophisticated, such a Autodesk™ and Solidworks™, by which a designer may create images of very sophisticated machines, and all of the piece parts and sub-assemblies that go together (assemble) to make such a machine. Being that game players in many cases are younger people without engineering training and experience, one challenge is to simplify some of the intensive task flow that is necessary in use of known object-oriented drawing programs. What is clearly needed are software solutions to make it easier and more intuitive for a user to create structures and jointed, moving apparatus in a display, that may then be activated, used, and treated by physics simulation to operate in a gaming or other virtual environment appearing as “real’ as possible.